import { option } from '@/api/http'

/**
 * 上传文件
 * @param data 文件列表 文所属文件夹id
 * @returns {*}
 */
export function upload(data){
    return option({
        url:"upload",
        method:"post",
        data,
        cancelToken: new axios.CancelToken(function executor(c) {
            window.cancel=c    //关键代码，通过传递一个 executor 函数到 CancelToken 的构造函数来创建一个 cancel token，并将参数赋值给接口传过来的参数that
        }),
    })
}

/**
 * 获取所有文件夹列表
 * @param data
 * @returns {*}
 */
export function getlist(data){
    return option({
        url:"getlist",
        method:"post",
        data
    })
}

/**
 * 获取当前选择文件夹下的文件列表
 * @param data listId 当前文件夹id
 * @returns {*} 返回文件信息列表
 */
export function getfiles(data){
    return option({
        url:"getfiles",
        method:"post",
        data
    })
}

/**
 *用户登录
 * @param data object {username,password}
 * @returns {*}
 */
export function login(data){
    return option({
        url:"login",
        method:"post",
        data
    })
}


/**
 *用户登录
 * @param data object {username,password}
 * @returns {*}
 */
export function password(data){
    return option({
        url:"edit",
        method:"post",
        data
    })
}

/**
 * 用户注册
 * @param data
 * @returns {*}
 */
export function register(data){
    return option({
        url:"register",
        method:"post",
        data
    })
}

/**
 * 获取用户信息
 * @param data userId
 * @returns {*} 返回用户信息:username,userid,tel,address,isAdmin
 */
export function getuserinfo(data){
    return option({
        url:"getuserinfo",
        method:"post",
        data
    })
}

/**
 * 修改用户信息
 * @param data
 * @returns {*}
 */
export function edituser(data){
    return option({
        url:"edit",
        method:"post",
        data
    })
}

/**
 * 修改列表名
 * @param data 列表id
 * @returns {*}
 */
export function editlist(data){
    return option({
        url:"editlist",
        method:"post",
        data
    })
}

/**
 * 添加目录
 * @param data parentId:父节点id  listname:文件夹名
 * @returns {*}
 */
export function addlist(data){
    return option({
        url:"addlist",
        method:"post",
        data
    })
}


/**
 * 删除目录
 * @param data 父节点id
 * @returns {*}
 */
export function dellist(data){
    return option({
        url:"del",
        method:"post",
        data
    })
}

/**
 * 删除文件
 * @param data 当前文件id
 * @returns {*}
 */
export function delfile(data){
    return option({
        url:"delfile",
        method:"post",
        data
    })
}

/**
 * 修改文件名
 * @param data 当前文件id 新文件名
 * @returns {*}
 */
export function updatefile(data){
    return option({
        url:"updatefile",
        method:"post",
        data
    })
}


/**
 * 文件下载
 * @param data 目标文件id
 * @returns {*}
 */
export function download(data){
    return option({
        url:"download",
        method:"post",
        data,
        responseType: "blob"
    })
}

/**
 * 文件预览
 * @param data fileId
 * @returns {*}
 */
export function preview(data){
    return option({
        url:"preview",
        method:"get",
        data
    })
}


export function queryfile(data){
    return option({
        url:"queryfile",
        method:"post",
        data
    })
}

/**
 * 测试发布广播
 * @param data
 * @returns {*}
 */
export function redis(data){
    return option({
        url:"redis",
        method:"get",
    })
}

/**
 * 拉取用户列表
 * @param data
 * @returns {*}
 */
export function getUsers(){
    return option({
        url:"getUsers",
        method:"post",
    })
}

/**
 * 拉取待审核用户列表
 * @param data
 * @returns {*}
 */
export function getNewUsers(){
    return option({
        url:"getNewUsers",
        method:"post",
    })
}

/**
 * 修改用户权限
 * @param data
 * @returns {*}
 */
export function editUserRoots(data){
    return option({
        url:"editUserRoots",
        method:"post",
        data
    })
}

/**
 * 审批新用户
 * @param data
 * @returns {*}
 */
export function newUser(data){
    return option({
        url:"newUser",
        method:"post",
        data
    })
}


/**
 * 修改用户部门
 * @param data
 * @returns {*}
 */
export function updateUserRole(data){
    return option({
        url:"updateUserRole",
        method:"post",
        data
    })
}



/**
 * 获取总文件数量
 * @returns {*}
 */
export function countFile(){
    return option({
        url:"countFile",
        method:"post",
    })
}

/**
 * 获取总文件数量
 * @returns {*}
 */
export function getPercent(){
    return option({
        url:"getPercent",
        method:"post",
    })
}


/**
 * 获取昨日长传量
 * @returns {*}
 */
export function getYesterday(){
    return option({
        url:"getYesterday",
        method:"post",
    })
}


/**
 * 获取上传最多用户
 * @returns {*}
 */
export function getMost() {
    return option({
        url: "getMost",
        method: "post",
    })
}

/**
 * 获取上传日志
 * @returns {*}
 */
export function getLog(){
    return option({
        url:"getLog",
        method:"get",
    })
}

/**
 * 创建员工合同
 * @returns {*}
 */
export function create(){
    return option({
        url:"create",
        method:"post",
    })
}

/**
 * 上传合同
 * @returns {*}
 */
export function uploadContract(){
    return option({
        url:"uploadContract",
        method:"get",
    })
}


/**
 * 获取员工合同列表
 * @returns {*}
 */
export function getConList(){
    return option({
        url:"getConList",
        method:"post",
    })
}


/**
 * 下载合同
 * @param data
 * @returns {*}
 */
export function downloadcon(data){
    return option({
        url:"downloadcon",
        method:"post",
        responseType: "blob",
        data
    })
}


/**
 * 获取制度文件列表
 * @returns {*}
 */
export function getrules(){
    return option({
        url:"getrulelist",
        method:"get",
    })
}



/**
 * 预览制度文件
 * @param data
 * @returns {*}
 */
export function previewrule(data){
    return option({
        url:'previewrule',
        method:"post",
        responseType: "blob",
        data
    })
}


/**
 * 下载制度文件
 * @param data
 * @returns {*}
 */
export function downloadrule(data){
    return option({
        url:"downloadrule",
        method:"post",
        responseType: "blob",
        data
    })
}


/**
 * 删除制度文件
 * @param data
 * @returns {*}
 */
export function delrule(data){
    return option({
        url:"delrule",
        method:"post",
        data
    })
}


/**
 * 获取流程 查看流程详情
 * @param data
 * @returns {*}
 */
export function getFlow(data){
    return option({
        url:"getFlow",
        method:"post",
        data
    })
}


/**
 * 获取全部流程列表
 * @param data
 * @returns {*}
 */
export function getALLFlowList(data){
    return option({
        url:"getALLFlowList",
        method:"post",
        data
    })
}


/**
 * 获取我的待审批流程列表
 * @param data
 * @returns {*}
 */
export function getGoingFlowList(data){
    return option({
        url:"getGoingFlowList",
        method:"post",
        data
    })
}



/**
 * 获取我的审批通过的流程列表
 * @param data
 * @returns {*}
 */
export function getDoneFlowList(data){
    return option({
        url:"getDoneFlowList",
        method:"post",
        data
    })
}


/**
 * 获取我的被拒绝的流程列表
 * @param data
 * @returns {*}
 */
export function getRefuseFlowList(data){
    return option({
        url:"getRefuseFlowList",
        method:"post",
        data
    })
}


/**
 * 获取我发起的流程的列表
 * @param data
 * @returns {*}
 */
export function getLeaveFlowList(data){
    return option({
        url:"getLeaveFlowList",
        method:"post",
        data
    })
}


/**
 * 获取抄送给我的流程列表
 * @param data
 * @returns {*}
 */
export function getCopyList(data){
    return option({
        url:"getCopyList",
        method:"post",
        data
    })
}




/**
 * 获取我审批的流程的列表
 * @param data
 * @returns {*}
 */
export function getHandleList(data){
    return option({
        url:"getHandleList",
        method:"post",
        data
    })
}

/**
 * 流程已读
 * @param data
 * @returns {*}
 */
export function readFlow(data){
    return option({
        url:"readFlow",
        method:"post",
        data
    })
}


/**
 * 提交申请
 * @param data
 * @returns {*}
 */
export function submitFlow(data){
    return option({
        url:"submitFlow",
        method:"post",
        data
    })
}


/**
 * 审批请假流程
 * @param data
 * @returns {*}
 */
export function operateLeaveFlow(data){
    return option({
        url:"operateLeaveFlow",
        method:"post",
        data
    })
}


/**
 * 驳回后重新发起流程
 * @param data
 * @returns {*}
 */
export function reSubmitLeaveFlow(data){
    return option({
        url:"reSubmitLeaveFlow",
        method:"post",
        data
    })
}


/**
 * 获取审批人列表
 * @param data
 * @returns {*}
 */
export function getOperatorList(data){
    return option({
        url:"getOperatorList",
        method:"post",
        data
    })
}


/**
 * 获取通知列表
 * @param data
 * @returns {*}
 */
export function getMSGList(data){
    return option({
        url:"getMSGList",
        method:"post",
        data
    })
}


/**
 * 获取首页信息栏信息的用户部门
 * @param data
 * @returns {*}
 */
export function getHomepageInfo(data){
    return option({
        url:"getHomepageInfo",
        method:"post",
        data
    })
}


/**
 * 获取公告数量
 * @param data
 * @returns {*}
 */
export function getRuleCount(data){
    return option({
        url:"getRuleCount",
        method:"post",
        data
    })
}


/**
 * 获取当前用户所有申请数量
 * @param data
 * @returns {*}
 */
export function getUserFlowCount(data){
    return option({
        url:"getUserFlowCount",
        method:"post",
        data
    })
}


/**
 * 按部门查找员工,返回员工列表tree
 * @param data
 * @returns {*}
 */
export function checkUserByRole(data){
    return option({
        url:"checkUserByRole",
        method:"post",
        data
    })
}


/**
 * 按发起人姓名查找流程
 * @param data
 * @returns {*}
 */
export function checkFlowByName(data){
    return option({
        url:"checkFlowByName",
        method:"post",
        data
    })
}


/**
 * 查找我的已审批
 * @param data
 * @returns {*}
 */
export function checkHandledFlow(data){
    return option({
        url:"checkHandledFlow",
        method:"post",
        data
    })
}


/**
 * 查找我的未审批
 * @param data
 * @returns {*}
 */
export function checkPendingFlow(data){
    return option({
        url:"checkPendingFlow",
        method:"post",
        data
    })
}



/**
 * 查看当前流程审批信息
 * @param data
 * @returns {*}
 */
export function getCurrentFlow(data){
    return option({
        url:"getCurrentFlow",
        method:"post",
        data
    })
}



/**
 * 撤回当前流程
 * @param data
 * @returns {*}
 */
export function recallFlow(data){
    return option({
        url:"recallFlow",
        method:"post",
        data
    })
}




/**
 * 获取目标申请信息
 * @param data
 * @returns {*}
 */
export function getTargetApprove(data){
    return option({
        url:"getTargetApprove",
        method:"post",
        data
    })
}



/**
 * 置顶指定的 待我审批的流程
 * @param data
 * @returns {*}
 */
export function getUptopHandle(data){
    return option({
        url:"getUptopHandle",
        method:"post",
        data
    })
}


/**
 * 置顶指定的 我处理过的流程
 * @param data
 * @returns {*}
 */
export function getUptopHandled(data){
    return option({
        url:"getUptopHandled",
        method:"post",
        data
    })
}


/**
 * 置顶指定的 抄送给我的流程
 * @param data
 * @returns {*}
 */
export function getUptopCopy(data){
    return option({
        url:"getUptopCopy",
        method:"post",
        data
    })
}



/**
 * 删除消息
 * @param data
 * @returns {*}
 */
export function delMsg(data){
    return option({
        url:"delMsg",
        method:"post",
        data
    })
}



/**
 * 获取是否有未读消息
 * @param data
 * @returns {*}
 */
export function getUnreadMsg(data){
    return option({
        url:"getUnreadMsg",
        method:"post",
        data
    })
}



/**
 * 获取是否有未读消息
 * @param data
 * @returns {*}
 */
export function upTopCurrentMessage(data){
    return option({
        url:"upTopCurrentMessage",
        method:"post",
        data
    })
}




